{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "8fdf70be-07ed-4105-be25-12eab5ef4ae1",
   "metadata": {
    "tags": []
   },
   "source": [
    "# Standalone with Detailed Downstream Modeling Example"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "01f45f0b-eb97-4b73-9b4c-48468023b745",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "from generation_models import StandaloneStorageModel, ACLosses, BaseSystemDesign, DownstreamSystem, MultiStorageInputs, BatteryParams, DARTPrices, Transformer\n",
    "from tyba_client.client import Client\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import os"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "41046b5b-b2c2-4360-80fb-5aaae1609b18",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "client = Client(os.environ[\"TYBA_PAT\"])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8ae60ae6-a1e4-4ff0-ae5b-5f96de3d3897",
   "metadata": {},
   "source": [
    "## Build model, including DownstreamSystem"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "65d861bb-b56c-43eb-90b6-15e4af6e3071",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "model = StandaloneStorageModel(\n",
    "    energy_prices=DARTPrices(\n",
    "        dam=np.random.random(720).tolist(),\n",
    "        rtm=np.random.random(720).tolist(),\n",
    "    ),\n",
    "    storage_inputs=MultiStorageInputs(\n",
    "        batteries=[BatteryParams(\n",
    "            power_capacity=2e3,\n",
    "            energy_capacity=4e3 / 0.95,\n",
    "            discharge_efficiency=0.95,\n",
    "            charge_efficiency=0.05,\n",
    "            degradation_rate=0.04,\n",
    "        )],\n",
    "    ),\n",
    "    downstream_system=DownstreamSystem(\n",
    "        losses=ACLosses(\n",
    "            ac_wiring=0.015,\n",
    "            transmission=0.012,\n",
    "            mv_transformer=Transformer(load_loss=0.01, no_load_loss=0.003),\n",
    "            hv_transformer=Transformer(load_loss=0.009, no_load_loss=0.004),\n",
    "        ),\n",
    "        system_design=BaseSystemDesign(dc_capacity=2e3, ac_capacity=2.5e3, poi_limit=2e3),\n",
    "        model_losses_from=\"DC\",\n",
    "        inverter=\"SMA America: SWR2500U [240V]\",\n",
    "    ),\n",
    "    project_term=720,\n",
    "    project_term_units=\"hours\",\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9d108e88-cc6b-42e1-bbbd-86db5276a1f7",
   "metadata": {},
   "source": [
    "## Run model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "33c9642d-22a5-435b-a634-7976236d2a20",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "resp = client.schedule(model)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "5e56c7c2-08a2-49c6-8b41-5f09eef907ea",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "id_ = resp.json()[\"id\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "e9ca915a-6e74-4563-bf82-0bb23c25f5a6",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "res = client.wait_on_result(id_)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3ce8a57e-5105-44ed-882a-427e347d31ec",
   "metadata": {},
   "source": [
    "## Check out results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "d65fcfdd-5d72-4dbf-b870-8dbeccf7ccf9",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['system', 'optimizer_outputs', 'market_awards'])"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "res.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "59f72620-f343-4051-a86d-aeb6b3fea970",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "system, optimizer, awards = (pd.DataFrame(v) for v in res.values())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "eb751dc4-3bfd-4dfb-820f-4cb2559441d2",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>hv_xfmr_no_load_loss</th>\n",
       "      <th>gen</th>\n",
       "      <th>gross_ac_power</th>\n",
       "      <th>positive_poi</th>\n",
       "      <th>mv_xfmr_load_loss</th>\n",
       "      <th>dc_power</th>\n",
       "      <th>inverter_consumption_loss</th>\n",
       "      <th>poi</th>\n",
       "      <th>hv_ac_power</th>\n",
       "      <th>transmission_loss</th>\n",
       "      <th>hv_xfmr_load_loss</th>\n",
       "      <th>negative_poi</th>\n",
       "      <th>dc_voltage</th>\n",
       "      <th>hv_xfmr_loss</th>\n",
       "      <th>inverter_tare_loss</th>\n",
       "      <th>transformer_loss</th>\n",
       "      <th>inverter_parasitic_loss</th>\n",
       "      <th>mv_xfmr_loss</th>\n",
       "      <th>inverter_clipping_loss</th>\n",
       "      <th>poi_unadjusted</th>\n",
       "      <th>inverter_efficiency</th>\n",
       "      <th>pre_hvac_ac_power</th>\n",
       "      <th>ac_power</th>\n",
       "      <th>max_mv_power</th>\n",
       "      <th>mv_xfmr_no_load_loss</th>\n",
       "      <th>ac_wiring_loss</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>8.0</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>-0.750000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.000003</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>-8.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>0.75</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>0.75</td>\n",
       "      <td>6.000003</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1842.991784</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>8.0</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>-0.750000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.000003</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>-8.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>0.75</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>0.75</td>\n",
       "      <td>6.000003</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1842.991784</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>8.0</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>-0.750000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.000003</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>-8.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>0.75</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>0.75</td>\n",
       "      <td>6.000003</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1842.991784</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>8.0</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>-0.750000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.000003</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>-8.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>0.75</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>0.75</td>\n",
       "      <td>6.000003</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1842.991784</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>8.0</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>-0.750000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.000003</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>-8.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>0.75</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>0.75</td>\n",
       "      <td>6.000003</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1842.991784</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>715</th>\n",
       "      <td>8.0</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>-0.750000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.000003</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>-8.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>0.75</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>0.75</td>\n",
       "      <td>6.000003</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1842.991784</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>716</th>\n",
       "      <td>8.0</td>\n",
       "      <td>-2056.54405</td>\n",
       "      <td>-2143.152745</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>22.965518</td>\n",
       "      <td>-2000.0</td>\n",
       "      <td>5.630538</td>\n",
       "      <td>-2056.54405</td>\n",
       "      <td>-2056.544050</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>18.544050</td>\n",
       "      <td>-2056.54405</td>\n",
       "      <td>300.0</td>\n",
       "      <td>26.544050</td>\n",
       "      <td>0.00</td>\n",
       "      <td>26.544050</td>\n",
       "      <td>0.00</td>\n",
       "      <td>28.965518</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-2056.54405</td>\n",
       "      <td>0.933205</td>\n",
       "      <td>-2000.0</td>\n",
       "      <td>-2000.0</td>\n",
       "      <td>1842.991784</td>\n",
       "      <td>6.0</td>\n",
       "      <td>30.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>717</th>\n",
       "      <td>8.0</td>\n",
       "      <td>84.50917</td>\n",
       "      <td>70.482314</td>\n",
       "      <td>84.50917</td>\n",
       "      <td>0.024839</td>\n",
       "      <td>95.0</td>\n",
       "      <td>20.973224</td>\n",
       "      <td>84.50917</td>\n",
       "      <td>85.535597</td>\n",
       "      <td>1.026427</td>\n",
       "      <td>0.039403</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>300.0</td>\n",
       "      <td>8.039403</td>\n",
       "      <td>0.00</td>\n",
       "      <td>8.039403</td>\n",
       "      <td>0.00</td>\n",
       "      <td>6.024839</td>\n",
       "      <td>0.0</td>\n",
       "      <td>84.50917</td>\n",
       "      <td>0.741919</td>\n",
       "      <td>95.0</td>\n",
       "      <td>95.0</td>\n",
       "      <td>1842.991784</td>\n",
       "      <td>6.0</td>\n",
       "      <td>1.425</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>718</th>\n",
       "      <td>8.0</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>-0.750000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.000003</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>-8.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>0.75</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>0.75</td>\n",
       "      <td>6.000003</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1842.991784</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>719</th>\n",
       "      <td>8.0</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>-0.750000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.000003</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>-8.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>0.75</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>0.75</td>\n",
       "      <td>6.000003</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-8.00000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1842.991784</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>720 rows × 26 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     hv_xfmr_no_load_loss         gen  ...  mv_xfmr_no_load_loss  ac_wiring_loss\n",
       "0                     8.0    -8.00000  ...                   6.0           0.000\n",
       "1                     8.0    -8.00000  ...                   6.0           0.000\n",
       "2                     8.0    -8.00000  ...                   6.0           0.000\n",
       "3                     8.0    -8.00000  ...                   6.0           0.000\n",
       "4                     8.0    -8.00000  ...                   6.0           0.000\n",
       "..                    ...         ...  ...                   ...             ...\n",
       "715                   8.0    -8.00000  ...                   6.0           0.000\n",
       "716                   8.0 -2056.54405  ...                   6.0          30.000\n",
       "717                   8.0    84.50917  ...                   6.0           1.425\n",
       "718                   8.0    -8.00000  ...                   6.0           0.000\n",
       "719                   8.0    -8.00000  ...                   6.0           0.000\n",
       "\n",
       "[720 rows x 26 columns]"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "system  # analogous to the usual solar_storage"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "378d2901-8477-4daa-9c11-e8c7af386730",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>storage_discharge_max</th>\n",
       "      <th>charge_lo</th>\n",
       "      <th>negative_dam_base_point</th>\n",
       "      <th>soe_lo</th>\n",
       "      <th>export_limit_at_coupling</th>\n",
       "      <th>soe_mean</th>\n",
       "      <th>nominal_hvac_load</th>\n",
       "      <th>dam_price</th>\n",
       "      <th>rtm_base_point</th>\n",
       "      <th>discharge_actual</th>\n",
       "      <th>total_output</th>\n",
       "      <th>soe_hi</th>\n",
       "      <th>output</th>\n",
       "      <th>dam_charge</th>\n",
       "      <th>charge</th>\n",
       "      <th>charge_hi</th>\n",
       "      <th>soe_actual</th>\n",
       "      <th>discharge_efficiency</th>\n",
       "      <th>discharge</th>\n",
       "      <th>battery_output</th>\n",
       "      <th>charge_actual</th>\n",
       "      <th>discharge_lo</th>\n",
       "      <th>import_limit_at_coupling</th>\n",
       "      <th>dam_base_point</th>\n",
       "      <th>internal_energy</th>\n",
       "      <th>rtm_price</th>\n",
       "      <th>internal_energy_max</th>\n",
       "      <th>charge_efficiency</th>\n",
       "      <th>dam_discharge</th>\n",
       "      <th>rtm_charge</th>\n",
       "      <th>discharge_hi</th>\n",
       "      <th>hvac_load</th>\n",
       "      <th>rtm_discharge</th>\n",
       "      <th>soe_lo_hb</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2000.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>None</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.140269</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.95</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>None</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.448188</td>\n",
       "      <td>4210.526316</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2000.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>None</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.381499</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.95</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>None</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.986922</td>\n",
       "      <td>4210.526316</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2000.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>None</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.973503</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.95</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>None</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.532283</td>\n",
       "      <td>4210.526316</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2000.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>None</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.309717</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.95</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>None</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.514577</td>\n",
       "      <td>4210.526316</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2000.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>None</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.528634</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.95</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>None</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.681771</td>\n",
       "      <td>4210.526316</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>715</th>\n",
       "      <td>2000.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>None</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.914586</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.95</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>None</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.729848</td>\n",
       "      <td>4210.089534</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>716</th>\n",
       "      <td>2000.0</td>\n",
       "      <td>2000.0</td>\n",
       "      <td>2000.0</td>\n",
       "      <td>100.0</td>\n",
       "      <td>None</td>\n",
       "      <td>50.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.016358</td>\n",
       "      <td>-2000.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-2000.0</td>\n",
       "      <td>100.0</td>\n",
       "      <td>-2000.0</td>\n",
       "      <td>2000.0</td>\n",
       "      <td>2000.0</td>\n",
       "      <td>2000.0</td>\n",
       "      <td>100.0</td>\n",
       "      <td>0.95</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-2000.0</td>\n",
       "      <td>2000.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>None</td>\n",
       "      <td>-2000.0</td>\n",
       "      <td>100.0</td>\n",
       "      <td>0.797364</td>\n",
       "      <td>4210.089534</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2000.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>717</th>\n",
       "      <td>2000.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-95.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>None</td>\n",
       "      <td>50.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.662193</td>\n",
       "      <td>95.0</td>\n",
       "      <td>95.0</td>\n",
       "      <td>95.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>95.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.95</td>\n",
       "      <td>95.0</td>\n",
       "      <td>95.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>95.0</td>\n",
       "      <td>None</td>\n",
       "      <td>95.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.909171</td>\n",
       "      <td>4210.089534</td>\n",
       "      <td>0.05</td>\n",
       "      <td>95.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>95.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>95.0</td>\n",
       "      <td>100.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>718</th>\n",
       "      <td>2000.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>None</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.206303</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.95</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>None</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.947974</td>\n",
       "      <td>4210.089534</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>719</th>\n",
       "      <td>2000.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>None</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.134326</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.95</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>None</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.074833</td>\n",
       "      <td>4210.089534</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>720 rows × 34 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     storage_discharge_max  charge_lo  ...  rtm_discharge  soe_lo_hb\n",
       "0                   2000.0        0.0  ...            0.0        0.0\n",
       "1                   2000.0        0.0  ...            0.0        0.0\n",
       "2                   2000.0        0.0  ...            0.0        0.0\n",
       "3                   2000.0        0.0  ...            0.0        0.0\n",
       "4                   2000.0        0.0  ...            0.0        0.0\n",
       "..                     ...        ...  ...            ...        ...\n",
       "715                 2000.0        0.0  ...            0.0        0.0\n",
       "716                 2000.0     2000.0  ...            0.0        0.0\n",
       "717                 2000.0        0.0  ...           95.0      100.0\n",
       "718                 2000.0        0.0  ...            0.0        0.0\n",
       "719                 2000.0        0.0  ...            0.0        0.0\n",
       "\n",
       "[720 rows x 34 columns]"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "optimizer  # same as in hybrid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "36fe8abe-a63e-410a-b7a5-6e3694897eab",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>negative_dam_base_point</th>\n",
       "      <th>rtm_base_point</th>\n",
       "      <th>rt_tare</th>\n",
       "      <th>discharge_actual</th>\n",
       "      <th>total_output</th>\n",
       "      <th>dam_charge</th>\n",
       "      <th>charge</th>\n",
       "      <th>discharge</th>\n",
       "      <th>charge_actual</th>\n",
       "      <th>dam_base_point</th>\n",
       "      <th>dam_discharge</th>\n",
       "      <th>rtm_charge</th>\n",
       "      <th>rtm_discharge</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>715</th>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>716</th>\n",
       "      <td>2056.54405</td>\n",
       "      <td>-2056.54405</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-2056.54405</td>\n",
       "      <td>2056.54405</td>\n",
       "      <td>2056.54405</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>2000.0</td>\n",
       "      <td>-2056.54405</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>2056.54405</td>\n",
       "      <td>0.00000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>717</th>\n",
       "      <td>-84.50917</td>\n",
       "      <td>84.50917</td>\n",
       "      <td>0.0</td>\n",
       "      <td>95.0</td>\n",
       "      <td>84.50917</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>84.50917</td>\n",
       "      <td>0.0</td>\n",
       "      <td>84.50917</td>\n",
       "      <td>84.50917</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>84.50917</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>718</th>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>719</th>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.00000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>720 rows × 13 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     negative_dam_base_point  rtm_base_point  ...  rtm_charge  rtm_discharge\n",
       "0                    0.00000         0.00000  ...     0.00000        0.00000\n",
       "1                    0.00000         0.00000  ...     0.00000        0.00000\n",
       "2                    0.00000         0.00000  ...     0.00000        0.00000\n",
       "3                    0.00000         0.00000  ...     0.00000        0.00000\n",
       "4                    0.00000         0.00000  ...     0.00000        0.00000\n",
       "..                       ...             ...  ...         ...            ...\n",
       "715                  0.00000         0.00000  ...     0.00000        0.00000\n",
       "716               2056.54405     -2056.54405  ...  2056.54405        0.00000\n",
       "717                -84.50917        84.50917  ...     0.00000       84.50917\n",
       "718                  0.00000         0.00000  ...     0.00000        0.00000\n",
       "719                  0.00000         0.00000  ...     0.00000        0.00000\n",
       "\n",
       "[720 rows x 13 columns]"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "awards  # optimizer results after offer correction"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "babc5329-3137-4748-9931-f7319e35bd26",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}